package com.frcdi.qms.masterdata.domain;

import com.frcdi.qms.common.annotation.Excel;
import com.frcdi.qms.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 变更申请对象 md_change
 *
 * @author cell
 * @date 2023-09-25
 */
@ApiModel(value = "变更申请对象")
public class Change extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long changeId;

    /** 变更编号 */
    @Excel(name = "变更编号")
    private String changeNo;

    /** 变更名称 */
    @Excel(name = "变更名称")
    private String changeName;

    /** 变更类型（0设备，1方法，2物料） */
    @Excel(name = "变更类型", readConverterExp = "0=设备，1方法，2物料")
    private String changeType;

    /** 变更方式(0新增，1编辑，2禁用) */
    @Excel(name = "变更方式(0新增，1编辑，2禁用)")
    private String changeWay;

    /** 描述 */
    @Excel(name = "描述")
    private String description;

    /** 附件 */
    @Excel(name = "附件")
    private String file;

    /** 提交状态（0未提交/1已提交） */
    @Excel(name = "提交状态", readConverterExp = "0=未提交/1已提交")
    private String submitStatus;

    /** 审核结果（0未审核/1已通过/2未通过） */
    @Excel(name = "审核结果", readConverterExp = "0=未审核/1已通过/2未通过")
    private String auditResult;

    /** 提交人 */
    @Excel(name = "提交人")
    private String submitBy;

    /** 提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date submitTime;

    /** 完成状态（1已完成/0未完成） */
    @Excel(name = "完成状态", readConverterExp = "1=已完成/0未完成")
    private String completionStatus;

    @Excel(name = "任务状态", readConverterExp = "0未发起,1已发起,2已撤销")
    private String taskStatus;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    private List<File> fileList;

    private String taskId;

    public void setChangeId(Long changeId)
    {
        this.changeId = changeId;
    }

    public Long getChangeId()
    {
        return changeId;
    }
    public void setChangeNo(String changeNo)
    {
        this.changeNo = changeNo;
    }

    public String getChangeNo()
    {
        return changeNo;
    }
    public void setChangeName(String changeName)
    {
        this.changeName = changeName;
    }

    public String getChangeName()
    {
        return changeName;
    }
    public void setChangeType(String changeType)
    {
        this.changeType = changeType;
    }

    public String getChangeType()
    {
        return changeType;
    }
    public void setChangeWay(String changeWay)
    {
        this.changeWay = changeWay;
    }

    public String getChangeWay()
    {
        return changeWay;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setFile(String file)
    {
        this.file = file;
    }

    public String getFile()
    {
        return file;
    }
    public void setSubmitStatus(String submitStatus)
    {
        this.submitStatus = submitStatus;
    }

    public String getSubmitStatus()
    {
        return submitStatus;
    }
    public void setAuditResult(String auditResult)
    {
        this.auditResult = auditResult;
    }

    public String getAuditResult()
    {
        return auditResult;
    }
    public void setSubmitBy(String submitBy)
    {
        this.submitBy = submitBy;
    }

    public String getSubmitBy()
    {
        return submitBy;
    }
    public void setSubmitTime(Date submitTime)
    {
        this.submitTime = submitTime;
    }

    public Date getSubmitTime()
    {
        return submitTime;
    }
    public void setCompletionStatus(String completionStatus)
    {
        this.completionStatus = completionStatus;
    }

    public String getCompletionStatus()
    {
        return completionStatus;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public List<File> getFileList() {
        return fileList;
    }

    public void setFileList(List<File> fileList) {
        this.fileList = fileList;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getTaskStatus() {
        return taskStatus;
    }

    public void setTaskStatus(String taskStatus) {
        this.taskStatus = taskStatus;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("changeId", getChangeId())
            .append("changeNo", getChangeNo())
            .append("changeName", getChangeName())
            .append("changeType", getChangeType())
            .append("changeWay", getChangeWay())
            .append("description", getDescription())
            .append("remark", getRemark())
            .append("file", getFile())
            .append("submitStatus", getSubmitStatus())
            .append("auditResult", getAuditResult())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("submitBy", getSubmitBy())
            .append("submitTime", getSubmitTime())
            .append("completionStatus", getCompletionStatus())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .append("taskStatus", getTaskStatus())
            .toString();
    }
}
